Determining and disclosing the indentity of telephone caller

ABSTRACT

A client is coupled to a modem pool and a server by a communication link in a wide area network. The client allows a user to browse the World Wide Web in response to user inputs entered entirely from a remote control device using a television set as a display device. The communication link to the client is shared by a telephone circuit at the client end of the link. A disruption in communication with the server may occur due to a Call Waiting signal caused by an incoming telephone call. The incoming call includes Caller ID information. In response to such a disruption, communication with the server is terminated. After pausing for a predetermined period of time, the client automatically re-establishes communication with the server if the line is clear. Upon reconnecting to the server, the client accesses a “White Pages” telephone directory Web site on a remote server. Using the number provided in the Caller ID information, the client looks up the name of the caller from the directory and stores the number and the corresponding name. Each time an incoming call is subsequently received from that number, the client displays the name of the calling party to the user as the call is received.

RELATED APPLICATIONS

This is a divisional of copending U.S. patent application Ser. No.08/660,087, filed Jun. 3, 1996, which is hereby incorporated byreference.

BACKGROUND OF THE INVENTION

1. The Field of the Invention

The present invention pertains to the field of client-server computernetworking. More particularly, the present invention relates to a methodand apparatus for providing communications between a client and a serverin a computer network.

2. The Prior State of the Art

The number of homes and businesses using personal computers hasincreased substantially in recent years. Along with this increase hascome an explosion in the use of the Internet, and particularly in theuse of the World-Wide Web (“the Web”). The Web is a collection offormatted hypertext pages located on numerous computers around the worldthat are logically connected by the Internet. Advances in networktechnology, particularly software for providing user interfaces to theWeb (“Web browsers”), have made the Web accessible to a large segment ofthe population. However, despite the growth in the development and useof the Web, many people are still unable to take advantage of thisimportant resource.

Access to the Web has thus far been limited mostly to people who haveaccess to a personal computer. However, many people cannot afford thecost of even a relatively inexpensive personal computer, while othersare either unable or unwilling to learn the basic computer skills thatare required to access the Web. Furthermore, Web browsers in the priorart generally do not provide the degree of user-friendliness desired bysome people, and many computer novices do not have the patience to learnhow to use the software. Therefore, it would be desirable to provide aninexpensive means by which a person can access the Web without the useof a personal computer. In particular, it would be desirable for aperson to be able to access the Web pages using an ordinary televisionset and a remote control, so that the person feels more as if he or sheis simply changing television channels, rather than utilizing a complexcomputer network.

Computer systems often communicate data with each other over largedistances using standard telephone lines (also known as “POTS,” forPlain Old Telephone Service). Often a computer does not have a telephoneline dedicated solely for its own use, however. Instead, a computeroften uses a telephone line that is also used for standard telephonevoice communication. Such dual use of the telephone line can causeproblems for computers. For example, many conventional telephoneservices provide a feature known as “Call Waiting,” which notifies aperson involved in a telephone conversation when there is anotherincoming call on that line. The person receiving the new call generallyis notified by an audible tone caused by a Call Waiting signal. Inresponse, the person can either switch to the other call withoutdisconnecting the call already in progress (a technique sometimes called“flashing”) or simply ignore the new call. However, a Call Waitingsignal can severely disrupt data communications if it is received whilea computer is using the line.

Although some communications software provides the ability to disablethe Call waiting signal, doing so has the disadvantage that thecomputer's user generally has no way of knowing when someone is tryingto reach him by telephone. Hence, it would be desirable to avoid severedisruptions without disabling the Call Waiting capability, particularlywhen browsing the Web.

Prior art systems that have accommodated Call Waiting during modemcommunications have done so only in client-to-client communications, andhave only handled the case of both clients and modems being programmedto handle a Call Waiting interruption. Examples of such systems are avoice-over-data modem designed by Phylon, Inc., of Fremont, California,and a data-only modem designed by Catapult Entertainment of Cupertino,California. Both products are designed for video game play over a modem,and both handle Call Waiting interruptions by detecting theinterruption, signaling the other client of the condition, and then bothclients terminating the phone connection to allow the incoming call tobe answered. When the call is completed, one modem dials the other toresume game play.

These two systems do not handle a more difficult condition: that of aclient modem that is designed to handle a Call Waiting interruptionwhich is dialed into a server modem that is not. For example, such aclient modem might dial into a modem pool, such as that providingInternet access, which was designed using conventional modems. Sincesuch conventional modems were designed with the assumption that dial-upwould be through a phone connection that was not to be periodicallyinterrupted by Call Waiting, they do not support the signaling andreconnect protocols that allowed the prior art video game modems toresume a connection smoothly after a Call Waiting interruption.

Unfortunately, the vast majority of server modems in use in the worldtoday are conventional modems designed with the assumption that thedial-up is through a connection not periodically interrupted by CallWaiting. Thus, as a practical matter, the prior art video game modems,which rely on the system on the other side of the phone connection asincluding a Call Waiting aware modem and client, do not handle aclient-server modem connection that is interrupted by Call Waiting.

In addition to the Call Waiting feature, some telephone services providea feature known as Caller ID. Caller ID provides a person who receives atelephone call and who has the proper equipment with the phone numberfrom which an incoming call originates. This service can be quite usefulwhen the person receiving the call recognizes the number. However,people sometimes receive telephone calls originating from telephonenumbers with which they are not familiar. Therefore, it would bedesirable to provide a Caller ID subscriber with more detailedinformation regarding the source of an incoming call. It would furtherbe desirable to provide such information to a subscriber who is usingthe telephone line to browse the Web at the time the call is received.

SUMMARY AND OBJECTS OF THE INVENTION

In a client system communicating with a server system over acommunication link, a method is provided of responding to a disruptionin communication with the server system. The communication link includesa telephone line. In response to the disruption, the client terminatescommunication with the server. The client then established an on-hookcondition on the telephone line and waits for a ring signal.

Other features of the present invention will be apparent from theaccompanying drawings and from the detailed description which follows.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereferences indicate similar elements and in which:

FIG. 1 illustrates several client systems connected to a server systemin a network.

FIG. 2A illustrates a client system for browsing the World-Wide Web.

FIG. 2B is a block diagram of an electronics unit of the client system.

FIG. 3 illustrates telephones, a client system, and a standard personalcomputer sharing one telephone line.

FIG. 4 illustrates the functional relationship between hardware andsoftware in the client system.

FIG. 5 is a flow diagram illustrating a routine for handling aninterruption in communication in the client system.

FIG. 6 is a flow diagram illustrating a routine for responding to acall-waiting signal.

FIG. 7 is a flow diagram illustrating a routine for determining a nameassociated with a phone number derived from Caller ID information.

FIG. 8 is a flow diagram illustrating a routine used by a client systemfor selectively notifying a user of an incoming telephone call.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A method and apparatus are described for managing communications betweena client and a server in a computer network. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide a thorough understanding of the presentinvention. It will be evident, however, to one skilled in the art thatthe present invention may be practiced without these specific details.In other instances, well-known structures and devices are shown in blockdiagram form in order to avoid unnecessarily obscuring the presentinvention.

The present invention includes various steps, which will be describedbelow. The steps can be embodied in machine-executable instructions,which can be used to cause a general-purpose or special-purposeprocessor programmed with the instructions to perform the steps.Alternatively, the steps of the present invention might be performed byspecific hardware components that contain hardwired logic for performingthe steps, or by any combination of programmed computer components andcustom hardware components.

The present invention is included in a system, known as WebTV™, forproviding a user with access to the Internet. A user of a WebTV™ clientgenerally accesses a WebTV™ server via a direct-dial telephone (POTS,for “plain old telephone service”), ISDN (Integrated Services DigitalNetwork), or other similar connection, in order to browse the Web, sendand receive electronic mail (e-mail), and use various other WebTV™network services. In the preferred embodiment, the WebTV™ networkservices are provided by WebTV™ servers using software residing withinthe WebTV™ servers in conjunction with software residing within a WebTV™client.

FIG. 1 illustrates a basic configuration of the WebTV™ network accordingto one embodiment. A number of WebTV™ clients 1 are coupled to a modempool 2 via direct-dial, bidirectional data connections 29, which may betelephone (POTS, i.e., “plain old telephone service”), ISDN (IntegratedServices Digital Network), or any other similar type of connection. Themodem pool 2 is coupled typically through a router, such as thatconventionally known in the art, to a number of remote servers 4 via aconventional network infrastructure 3, such as the Internet. The WebTV™system also includes a WebTV™ server 5, which specifically supports theWebTV™ clients 1. The WebTV™ clients 1 each have a connection to theWebTV™ server 5 either directly or through the modem pool 2 and theInternet 3. Note that the modem pool 2 is a conventional modem pool,such as those found today throughout the world providing access to theInternet and private networks.

Note that in this description, in order to facilitate explanation theWebTV™ server 5 is generally discussed as if it were a single device,and functions provided by the WebTV™ services are generally discussed asbeing performed by such single device. However, the WebTV™ server 5 mayactually comprise multiple physical and logical devices connected in adistributed architecture, and the various functions discussed belowwhich are provided by the WebTV™ services may actually be distributedamong multiple WebTV™ server devices.

FIG. 2A illustrates a WebTV™ client 1. The WebTV™ client 1 includes anelectronics unit 10 (hereinafter referred to as “the WebTV™ box 10”), anordinary television set 12, and a remote control 11. In an alternativeembodiment of the present invention, the WebTV™ box 10 is built into thetelevision set 12 as an integral unit. The WebTV™ box 10 includeshardware and software for providing the user with a graphical userinterface, by which the user can access the WebTV™ network services,browse the Web, send e-mail, and otherwise access the Internet.

The WebTV™ client 1 uses the television set 12 as a display device. TheWebTV™ box 10 is coupled to the television set 12 by a video link 6. Thevideo link 6 is an RF (radio frequency), S-video, composite video, orother equivalent form of video link. The communication link 29 betweenthe WebTV™ box 10 and the server 5 is either a telephone (POTS)connection 29 a or an ISDN connection 29 b. The WebTV™ box 10 receivesAC (alternating current) power through an AC power line 7. Remotecontrol 11 is operated by the user in order to control the WebTV™ client1 in browsing the Web, sending e-mail, and performing otherInternet-related functions. The WebTV™ Im box 10 receives commands fromremote control 11 via an infrared (IR) communication link. Inalternative embodiments, the link between the remote control 11 and theWebTV™ Im box 10 may be RF or any equivalent mode of transmission.

FIG. 2B is a block diagram of the internal features of the WebTV™ box10. Operation of the WebTV™ client 1 is controlled by a centralprocessing unit (CPU) 21 which is coupled to an Application-SpecificIntegrated Circuit (ASIC) 20. The CPU 21 executes software designed toimplement features of the present invention. ASIC 20 contains circuitrywhich may be used to implement certain features provided by the WebTV™client 1. ASIC 20 is coupled to an audio digital-to-analog converter 25which provides audio output to television 12. In addition, ASIC 20 iscoupled to a video encoder 26 which provides video output to televisionset 12. An IR interface 24 detects IR signals transmitted by remotecontrol 11 and, in response, provides corresponding electrical signalsto ASIC 20. A standard telephone modem 27 and an ISDN modem 30 arecoupled to ASIC 20 to provide connections 29 a and 29 b, respectively,to the modem pool 2 and, via the Internet 3, to the remote servers 4.Note that the WebTV™ box 10 also may include a cable television modem(not shown).

Also coupled to ASIC 20 is Read-Only Memory (ROM) 22, which providesstorage of program code for implementing the application software to beexecuted by the WebTV™ box 10. Note that ROM 22 may be a programmableROM (PROM) or any form of erasable PROM (EPROM) or Flash memory. Alsocoupled to ASIC 20 is Random Access Memory (RAM) 23. A mass storagedevice 28 may optionally be provided and coupled to ASIC 20. The massstorage device 28 may be used to input software or data to the client orto download software of data received over network connection 29. Themass storage device 28 includes any suitable medium for storingmachine-executable instructions, such as magnetic disks, optical disks,and the like.

FIG. 3 illustrates a WebTV™ client 1 implemented in a home 15 accordingto one exemplary embodiment. Within the home 15, the WebTV™ client 1shares the telephone line 29 a with two conventional telephone sets(“extensions”) 10 and a modem of a personal computer 12. Accordingly,the telephone line 29 a is used for both data communication (by WebTV™client 1 and the personal computer 12) and voice communication atdifferent times. The telephone line 29 a corresponds to a singletelephone number within the home 15.

As mentioned above, the WebTV™ box 10 includes application softwareincluding a Web browser. Referring now to FIG. 2A, the above-mentionedapplication software 31 operates in conjunction with operating system(OS) software 32. The OS software 32 includes various device drivers andotherwise provides an interface between the application software 31 andthe system hardware components 40 (i.e., the elements illustrated inFIG. 1C).

In the preferred embodiment, the application software 31 and OS software32 are generally stored in ROM 22. It will be recognized, however, thateither or both of application software 31 and OS software 32 can bestored on any suitable storage medium, including magnetic or opticalstorage devices.

Assume now that the WebTV™ client 1 is implemented in a configuration asshown in FIG. 3. That is, the WebTV™ client 1 shares a single telephoneline 29 a with one or more standard telephone extensions in a home 15.Assume further that telephone service provided to the home 15 includesthe Call Waiting and Caller ID services. Hence, an incoming telephonecall received at the home 15 while the user is browsing the Web usingthe WebTV™ client 1 will be indicated by reception of a Call Waitingsignal. The Call Waiting signal will cause disruptions in datacommunications on the telephone line. Some prior art client-to-servermodems treat a disruption such as a Call Waiting signal as an errorcondition and either attempt to maintain the data connection or simplylose the connection. Other prior art client-to-server modems simplydisable the Call Waiting signal. A disadvantage of both of theseapproaches is that the user of the Web browser is typically left unawareof the incoming call. The present invention, however, overcomes thisdisadvantage.

Any interruption in data communication is essentially treated as a pausecondition by the WebTV™ client 1. Specifically, in response to anyinterruption in data communication, including a Call Waiting signal, theclient 1 automatically disconnects from the modem pool 2 and thenautomatically reconnects to the modem pool 2 at a later time whilemaintaining the user's browsing state. Referring now to FIG. 5, if aninterruption in communication is detected by the WebTV™ client 1 (step501) while the client 1 is in contact with the WebTV™ server 5 (or anyother server), then the client 1 saves information describing thecurrent browsing status to memory (RAM) 23 (step 502). The savedinformation includes all information that is necessary to exactlyidentify the Web site at which the user was browsing and toautomatically return to that location later without further input fromthe user. Once the status information is saved, the client 1automatically disconnects from the modem pool 2 (step 503). The client 1then waits for a predetermined time interval T₁ (ten seconds, forexample) (step 504). At the expiration of the time interval T₁, theclient 1 determines whether an incoming call is still being received byattempting to detect a ring signal on the telephone line 29 (step 505).Detection of a ring signal would indicate that a third party is stillattempting to call in, since an on-hook condition after a Call Waitingsignal tells the Telephone Company Central Office telephone switch thatit is to transmit a ring signal. The client 1 further determines whetherall telephone extensions are on the hook (i.e., inactive, or closed)(step 506). This determination is made by sensing the impedance on thetelephone line 29. If no ring signal is detected and all extensions areon the hook, then the client 1 automatically redials the modem pool 2and resumes the previous browsing state based the status informationsaved earlier (step 507). If, however, either a ring signal is detectedor an extension is off the hook (active) (e.g., if another member of thehousehold had picked up an extension phone and had begun to dial), thenthe client 1 waits until that is not the case before re-establishing theconnection to the modem pool 2. Thus, whether the disruption was a CallWaiting interruption or a disruption from another person trying to makea call, the same mechanism gracefully handles the situation.

As mentioned above, it is assumed that the telephone service provided tothe home 15 includes Caller ID service. Note, however, that Caller IDservice is not essential to support the Call Waiting capabilities of thepresent invention. The present invention utilizes the Caller IDinformation to provide the user with information identifying the sourceof the incoming call. Referring now to FIG. 6, assume that an incomingtelephone call is received while the user is browsing the Web.Accordingly, the client 1 disconnects from the modem pool 2 after savingbrowsing status information. The client 1 then causes a message to bedisplayed to the user on the television set 12 indicating that anincoming call is being received (step 601). The client then waits forCaller ID information. This information is typically is received betweenthe first and second ring signal (step 601). If Caller ID information isreceived before the expiration of a preset time period, such as beforethe second ring signal (step 602), then the client 1 determines whetherthe phone number of the incoming call has previously been stored inmemory 23 with a corresponding name (step 603). If so, the namecorresponding to the source of the incoming call is retrieved frommemory 23 and displayed to the user in conjunction with the Call Waitingmessage (step 604). If no Caller ID information is received or if thereis no name corresponding to the incoming phone number stored in memory23, then a message is displayed to the user indicating that the name ofthe caller is unknown (step 608). If the user accepts the incoming callby picking up one of the telephone sets 10 within the predeterminednumber of rings, the routine ends (step 605). However, if the user doesnot accept the call, client 1 automatically answers the call.Specifically, the client 1 plays a recorded greeting to the caller (step606) and then digitally records any message the incoming caller choosesto leave (step 607). The message left by the incoming caller is alsoplayed to the user of the client 1 in real time as it is recorded, usingthe speaker of the television set 12 for audio output.

Referring now to FIG. 7, the next time the client 1 connects to theInternet, the client 1 automatically sends a request to appropriate“White Pages” database servers for the name of the source of the lasttelephone call (step 701), assuming Caller ID information was receivedfor that call. The request includes the telephone number provided by theCaller ID service. Such Web sites containing “White Pages” telephonedirectory information are well6 known. The telephone directory Web siteallows the accessing party to search based on a given telephone numberor name. Accordingly, the client 1 automatically looks up the telephonenumber from the Caller ID information using the telephone directory Website (step 702). If the telephone directory Web site locates thetelephone number (step 703), then upon receiving the name, the client 1stores the telephone number and the corresponding name in memory 23 forfuture use (step 704). Hence, each time in the future an incoming callis received from that telephone number, the name of the calling party isautomatically retrieved from memory 23 and displayed to the user (FIG.6, step 604).

The present invention also includes a selective forwarding feature bywhich the user of the client 1 is automatically notified via e-mail ortelephone when an incoming telephone call is received from a specifiedsource, even if the user is at a geographic location different from thatof the client 1. The user initially selects a message forwarding optionand inputs an identity of a calling party to the client 1. The identitymay be specified in the form of a telephone number or a name. Numberbuttons on remote control 11 can be used to enter the digits of atelephone number. To enter alphabetical characters of a name, the usercan selects soft buttons within an image of a keyboard that is displayedon television set 12. Alternatively, the characters can be enteredthrough the use of a wireless keyboard. The user also selects aforwarding mode as either “e-mail,” “telephone,” or both and inputs adestination e-mail address and/or telephone number designating thelocation to which the forwarding message is to be sent.

FIG. 8 illustrates a routine by which the client 1 forward messages tothe user at a remote location. When an incoming call is received, thenif the user has selected the message forwarding option (step 801), theclient 1 determines whether the calling party identity specified by theuser matches the Caller ID information (step 802). If the user-specifiedidentity was provided as a name, the client 1 uses the identificationprocedures described above to determine if there is a match.Specifically, the client 1 determines whether the telephone number inthe Caller ID information is stored in memory 23 and, if so, whetherthere is a corresponding name stored.

If the Caller ID information does not match the user-specified calleridentity, the standard routine for handling incoming calls is performed(step 805). If, however, there is a match, then the client 1 waits untilthe line is clear (i.e., no incoming call is being received and allhandsets are on the hook) (step 803). When the line is clear, the client1 automatically dispatches a message to the location specified by theuser. The message may be a default message or a user-created message. Ifthe telephone mode was selected, the client 1 will automatically dialthe user-specified destination telephone number and play a pre-recordedmessage if the call is answered. Hence, using the above technique, theuser is notified immediately when a specified party calls, even when theuser is located away from the client 1.

The present invention also provides conventional e-mail capabilities.E-mail addressed to a WebTV™ user is stored in the WebTV™ server 5. Whene-mail addressed to the user is received by the server 5, the server 5signals this fact to the client 1 if the client 1 is presently connectedto the server 5. Upon receiving this signal, the client 1 provides anindication to the user that the user has e-mail. The indication isprovided in the form of a lighted LED (Light-Emitting Diode) built intothe housing of WebTV™ box 10, a text message displayed on television set12, or both. In one embodiment of the present invention, the client 1automatically dials out and connects to the WebTV™ server 5 at regularintervals or at specified times of the day to determine whether the userhas any new e-mail, and both downloads any e-mail into memory (e.g., RAM23) for fast retrieval and illuminates the LED.

Another feature of the present invention relates to reducing costsassociated with ISDN service. As mentioned above, the client 1 has botha standard telephone connection 29 a and an ISDN connection 29 b withthe server 5. It is well known that an ISDN connection permits fasterdata communication than a standard telephone connection according to thepresent state of the art. However, ISDN service tends to be moreexpensive than standard telephone service. Consequently, the presentinvention provides a means for reducing communications costs associatedwith accessing the Internet. Specifically, the client 1 keeps track ofthe time of day and routes communications through the ISDN connection 29b during hours which are not considered “prime time” for ISDN usage.However, the client 1 automatically directs communications through thestandard telephone connection 29 a during ISDN prime time, when ratesare most expensive.

In another aspect of the present invention, the client 1 automaticallydisconnects from the WebTV™ server 5 when no input from the user isreceived for a predetermined period of time. The current browsing statusis saved to memory 23 before disconnecting, as described above. Theconnection is automatically reestablished and the most recent browsingstatus is resumed as soon as the user enters any input which requiresaccess to the network. Hence, the user is not required to initiate aspecific log-in procedure in order to resume browsing.

Thus, a method is provided, in a client processing system coupled to aserver processing system, of managing communications between the clientand the server. Although the present invention has been described withreference to specific exemplary embodiments, it will be evident thatvarious modifications and changes may be made to these embodimentswithout departing from the broader spirit and scope of the invention asset forth in the claims. Accordingly, the specification and drawings areto be regarded in an illustrative rather than a restrictive sense.

What is claimed is:
 1. In a network system including a server and aclient system capable of connecting to the server via a communicationlink, wherein the network system shares a segment of the communicationlink with a telephone system, a method of identifying a caller who makesan incoming telephone call over the segment of the communication link,the method comprising the acts of: maintaining telephone numberinformation stored in a memory device at the client system, wherein thetelephone number information includes telephone numbers associated withnames; receiving, at the client system, an incoming telephone call withCaller ID information including a particular telephone number associatedwith the incoming telephone call and not including a name associatedwith the particular telephone number; comparing the incoming telephonenumber to the telephone number information to determine whether the nameassociated with the particular telephone number has been stored in thetelephone number information in the memory device; if the name has beenstored, displaying the name stored in the telephone number informationto a user of the client system; and if the name has not yet been stored,performing the acts of: enabling the user to receive the incomingtelephone call without displaying the name to the user; after theincoming call is terminated, and when the client system connects to aserver using the network system, automatically making a request to atelephone directory database server for the name associated with theparticular telephone number; and receiving and storing the nameassociated with the particular telephone number in the telephone numberinformation in the memory device for future use.
 2. A method as definedin claim 1, wherein the act of displaying the name comprises displayingthe name on a display device of the client system.
 3. A method asdefined in claim 2, further comprising, after the act of displaying thename, the act of allowing the user of the client system to answer theincoming telephone call.
 4. A method as defined in claim 2, furthercomprising, after the act of displaying the name, the act ofautomatically answering the incoming telephone call using the clientsystem after a predetermined number of rings.
 5. A method as defined inclaim 4, further comprising the act of recording a message left by thecaller.
 6. A method as defined in claim 5, wherein the display device isa television set, the method further comprising the act of playing themessage in real time using the television set.
 7. A method as defined inclaim 1, further comprising the act of dispatching, by the clientsystem, a message to a remote location with respect to the clientsystem, the message indicating that the caller has made the incomingtelephone call.
 8. A method as defined in claim 7, wherein the act ofdispatching the message comprises the acts of: dialing, by the clientsystem, a user-specified destination telephone number; and playing themessage to a person using a telephone associated with the destinationtelephone number.
 9. A method as defined in claim 1, wherein the act ofdispatching the message comprises the act of sending an electronic mailmessage to an electronic mail address provided by the user of the clientsystem.
 10. A method as defined in claim 1, wherein the client systemconnecting to a server using the network system comprises the act of theclient system connecting to a server using the Internet.
 11. In anetwork system including a server and a client system capable ofconnecting to the server via a communication link, wherein the networksystem shares a segment of the communication link with a telephonesystem, a method of identifying a caller who makes an incoming telephonecall over the segment of the communication link, the method comprisingthe acts of: maintaining telephone number information stored in a memorydevice at the client system, wherein the telephone number informationincludes telephone numbers associated with names; receiving, at theclient system, an incoming telephone call with Caller ID informationincluding a particular telephone number associated with the incomingtelephone call and not including a name associated with the particulartelephone number; determining that the name associated with theparticular telephone number has not yet been stored in the telephonenumber information in the memory device; after the incoming telephonecall is terminated, and when the client system connects to a serverusing the network system, automatically making a request to a telephonedirectory database server for the name associated with the particulartelephone number; in response to receiving the name from the telephonedirectory database server, storing the name in the telephone numberinformation in the memory device for future use; receiving anotherincoming telephone call with Caller ID information including saidparticular telephone number and not including said name associated withsaid particular telephone number; and retrieving the name associatedwith the particular telephone number from the telephone numberinformation and displaying the name to a user of the client system. 12.A method as defined in claim 11, wherein the act of automatically makinga request to a telephone directory database server comprises the act ofcommunicating between the client system and an Internet server.
 13. Amethod as defined in claim 11, further comprising the acts of: receivinga second incoming telephone call having Caller ID information includinga second telephone number associated with the second incoming telephonecall and not including a second name associated with the secondtelephone number; identifying the second name associated with the secondincoming telephone number from the telephone number information; anddisplaying the second name on a display device of the client system. 14.A method as defined in claim 11, wherein the client system connecting toa server using the network system comprises the act of the client systemconnecting to a server using the Internet.
 15. A method as defined inclaim 11, further comprising, after the act of determining that the nameassociated with the particular telephone number has not yet been storedin the telephone number information, the act of displaying to the user amessage indicating that the name is unknown.
 16. A computer programproduct for implementing a method of identifying a caller who makes anincoming telephone call, wherein the method is implemented in a clientsystem capable of being connected to a server using a communicationlink, the client system sharing a segment of the communication link witha telephone system, the computer program product comprising: acomputer-readable medium carrying instructions capable of being executedby the client system, wherein the instructions comprise: program codemeans for receiving, at the client system, an incoming telephone callwith Caller ID information including a particular telephone numberassociated with the incoming telephone call and not including a nameassociated with the particular telephone number, wherein the incomingtelephone call is made over the segment of the communication link;program code means for determining whether telephone number informationstored at the client system includes the name associated with theparticular telephone number; program code means for conducting, if thetelephone number information includes the name associated with theparticular telephone number, the acts of: identifying, from thetelephone number information, the name associated with the incomingtelephone number; and displaying the name on a display device of theclient system program code means for conducting, if the telephone numberinformation does not include the name associated with the particulartelephone number, the acts of: enabling the user to receive the incomingtelephone call without displaying the name to the user; after theincoming call is terminated, and when the client system connects to aserver using a network, automatically making a request to a telephonedirectory database server for the name associated with the particulartelephone number; and receiving and storing the name associated with theparticular telephone number in the telephone number information at theclient system for future use.
 17. A computer program product as definedin claim 16, wherein the instructions further comprise program codemeans for automatically answering the incoming telephone call using theclient system after a predetermined number of rings.
 18. A computerprogram product as defined in claim 17, wherein the instructions furthercomprise program code means for recording a message left by the callerafter automatically answering the incoming telephone call.
 19. Acomputer program product as defined in claim 18, wherein theinstructions further comprise program code means for communicating witha person at a remote location with respect to the client system, so asto indicate to the person that the caller has made the incomingtelephone call.